﻿
using SheepStorage.Domain.DTO.InputDto;
using SheepStorage.Domain.DTO.Output;
using SheepStorage.Domain.Entity;
using SheepStorage.Repository.Interface;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace SheepStorage.Service.Interface
{
    public interface IEarTagService
    {
        /// <summary>
        /// 产羔耳标列表
        /// </summary>
        /// <param name="overBit"></param>
        /// <param name="birType"></param>
        /// <param name="birthState"></param>
        /// <param name="useState"></param>
        /// <returns></returns>
        Task<PageOutput<EarTagTable>> GetEarTags(int pageIndex,int pageSize,string? overBit, int birType, int birthState, int useState);
        /// <summary>
        /// 添加耳标
        /// </summary>
        /// <param name="earTag"></param>
        /// <returns></returns>
        Task<int> AddEarTags(EarTagTable earTag);
        /// <summary>
        /// 删除耳标
        /// </summary>
        /// <param name="earTagId"></param>
        /// <returns></returns>
        Task<int> DelEarTags(int earTagId);
        /// <summary>
        /// 批删耳标
        /// </summary>
        /// <param name="earTagIds"></param>
        /// <returns></returns>
        Task<int> BatchDelEarTags(List<int> earTagIds);
        /// <summary>
        /// 反填耳标
        /// </summary>
        /// <param name="earTagId"></param>
        /// <returns></returns>
        Task<EarTagTable> GetEarTag(int earTagId);
        /// <summary>
        /// 修改耳标
        /// </summary>
        /// <param name="earTag"></param>
        /// <returns></returns>
        Task<int> UpdEarTags(EarTagTable earTag);
        /// <summary>
        /// 耳号列表
        /// </summary>
        /// <returns></returns>
        Task<List<EarTagTable>> GetIdList();
    }
}
